package com.itheima.demo003;

import java.util.ArrayList;

public class test37 {
    public static void main(String[] args) {
        /*需求:
        定义一个javabean类,PHONE
        PHONE属性:品牌和价格额
        main方法中,定义一个集合,存入三个手机对象
        分别为:小米1000,苹果8000,oppo2999
        定义一个方法:将价格低于3000的手机信息返回
         */

        //1.创建集合对象
        ArrayList<Phone> list = new ArrayList<>();

        //2.创建手机的对象
        Phone p1 = new Phone("小米",1000);
        Phone p2 = new Phone("苹果",8000);
        Phone p3 = new Phone("oppo",2999);

        //3.添加数据
        list.add(p1);
        list.add(p2);
        list.add(p3);

        //4.调用方法
        ArrayList<Phone> phoneInfoList = getPhoneInfo(list);

        //5.遍历集合
        for (int i = 0; i < phoneInfoList.size(); i++) {
            Phone phone = phoneInfoList.get(i);
            System.out.println(phone.getBrand() + ", " + phone.getPrice());
        }
    }


    //1.我要干嘛?   查询手机信息
    //2.我干这件事,需要什么,才能完成?    集合
    //3.调用处,是否返回?   返回

    //技巧:
    //如果我们要返回多个数据,可以先把这些数据,放到一个容器当中,然后把容器返回
    //容器可以是集合,数组
    public static ArrayList<Phone> getPhoneInfo(ArrayList<Phone> list){
        //定义一个集合,用于存储价格低于3000的手机对象
        ArrayList<Phone> resultList = new ArrayList<>();
        //遍历集合
        for (int i = 0; i < list.size(); i++) {
            Phone p = list.get(i);
            int price = p.getPrice();
            //如果当前手机的价格低于3000,那么就把手机对象,添加到resultList中
            if(price < 3000){
                resultList.add(p);
                //System.out.println(p.getBrand() + ", " + p.getPrice());
            }
        }
        //返回的是集合,返回值的类型,就写集合
        return resultList;
    }
}
